<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>11-01 填充和描边状态</title>
</head>
<body>
  <canvas id="c" width="400" height="400" style="border: 1px solid #ccc;"></canvas>

  <script>
    const context = document.getElementById('c')
    const ctx = context.getContext('2d')

    ctx.fillStyle = 'red' // 设置填充色为红色
    ctx.strokeStyle = 'blue' // 设置描边色为蓝色
    ctx.lineWidth = 6 // 描边宽度 6

    ctx.save() // 保存当前状态

    ctx.rect(10, 10, 100, 60)
    ctx.fill()
    ctx.stroke()

    ctx.fillStyle = 'pink' // 设置填充色为粉色
    ctx.strokeStyle = 'green' // 设置描边色为绿色
    ctx.lineWidth = 10 // 描边宽度 10

    ctx.beginPath()
    ctx.rect(140, 10, 100, 60)
    ctx.fill()
    ctx.stroke()

    ctx.beginPath()
    ctx.fillStyle = 'orange' // 设置填充色为橙色
    ctx.strokeStyle = 'hotpink' // 设置描边色为亮粉
    ctx.lineWidth = 2 // 描边宽度 2

    ctx.rect(10, 100, 100, 60)
    ctx.fill()
    ctx.stroke()

    ctx.restore() // 恢复到之前保存的状态

    ctx.beginPath()
    ctx.rect(140, 100, 100, 60)
    ctx.fill()
    ctx.stroke()
  </script>
</body>
</html>